package cn.tedu.set;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

/**
 * Date：2021年11月
 * Author：程Sir
 * Name： JavaSE-API
 * Content:
 *  LinkedHashSet是对HashSet的补充，我们知道HashSet是不能够保证存储元素的顺序的，只能够保证元素的唯一！
 *  因此就出现了既能够保证元素的唯一 ，又能够保证元素的顺序的实现类：LinkedHashSet
 *  在使用方法上，没有做过多的补充，都继承自实现父类【父接口】
 */
public class LinkedHashSetDemo {
    public static void main(String[] args) {
        Set<Integer> linkedHashSet = new LinkedHashSet<>();
        linkedHashSet.add(1);
        linkedHashSet.add(2);
        linkedHashSet.add(3);
        linkedHashSet.add(4);
        System.out.println("===========第一种方式==========");
        // 输出整个集合
        System.out.println(linkedHashSet);

        System.out.println("===========第二种方式==========");
        // 使用增强for循环：输出集合的每一个元素
        for (Integer i: linkedHashSet){
            System.out.println(i);
        }
        System.out.println("===========第三种方式==========");
        // 使用迭代器的方式
        Iterator<Integer>  iterator= linkedHashSet.iterator();
        while (iterator.hasNext()){
            Integer i= iterator.next();
            System.out.println(i);
        }


    }
}
